/* 防抖节流函数 */
let timeout = null // 创建一个标记用来存放定时器的返回值
let canRun = true;
export function debounce(fn) {
	return function() {
		clearTimeout(timeout) // 每当用户输入的时候把前一个 setTimeout clear 掉 
		timeout = setTimeout(() => { // 然后又创建一个新的 setTimeout, 这样就能保证输入字符后的 interval 间隔内如果还有字符输入的话，就不会执行 fn 函数
			fn.apply(this, arguments)
		}, 3000)
	}
}
export function throttle(fn) {
	return function() {
		if (!canRun) return
		canRun = false
		setTimeout(function() {
			fn.apply(this, arguments)
			canRun = true
		}, 3000);
	}
}

export function dealTime(date) {
	let fmt = 'yyyy-MM-dd hh:mm:ss'
	const o = {
		'M+': date.getMonth() + 1, // 月份
		'd+': date.getDate(), // 日
		'h+': date.getHours(), // 小时
		'm+': date.getMinutes(), // 分钟
		's+': date.getSeconds(), // 秒
	}
	if (/(y+)/.test(fmt)) {
		fmt = fmt.replace(RegExp.$1, date.getFullYear())
	}
	for (let k in o) {
		if (new RegExp('(' + k + ')').test(fmt)) {
			fmt = fmt.replace(RegExp.$1, o[k].toString().length == 1 ? '0' + o[k] : o[k])
		}
	}

	// console.log(fmt)
	return fmt
}

export function dealYM(date){
	date = date.split("-").splice(0,2)
	date[1] = parseInt(date[1]).toString()
	return date.join("-")
}